package jmine.tec.hydra.receive;

import jmine.tec.script.ScriptLogger;

/**
 * Associação entra id da mensagem e a ação que deve ser executada no momento de seu recebimento.
 * 
 * @author piercio
 */
public class HydraMessageInfo {

    private String messageId;

    private String action;
    
    private ScriptLogger scriptLogger;
    
    private boolean noAction = false;


    /**
     * @return o valor do campo messageID
     */
    public String getMessageId() {
        return this.messageId;
    }

    /**
     * @param messageID o valor para o campo messageID
     */
    public void setMessageId(String messageID) {
        this.messageId = messageID;
    }

    /**
     * @return o valor do campo action
     */
    public String getAction() {
        return this.action;
    }

    /**
     * @param action o valor para o campo action
     */
    public void setAction(String action) {
        this.action = action;
    }

    /**
     * @return o logger
     */
    public ScriptLogger getScriptLogger() {
        return scriptLogger;
    }

    /**
     * @param scriptLogger um logger
     */
    public void setScriptLogger(ScriptLogger scriptLogger) {
        this.scriptLogger = scriptLogger;
    }
   
    /**
     * @return {true} caso não haja ação a ser utilizada e {false} como padrão para ações obtidas
     */
    public boolean hasNoAction() {
        return noAction;
    }

    /**
     * 
     * @param noAction set {true} caso não haja ações após uma activation. 
     * Set efetuado caso queira pular o resto do bloco de comando que infere dados em actions, specs e filters. 
     */
    public void setNoAction(boolean noAction) {
        this.noAction = noAction;
    }
}
